/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       resource_cache.h

	$Header: /game/resource_cache.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef RESOURCE_CACHE_H_INCLUDED
#define RESOURCE_CACHE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "abstract_resource_cache.h"

template <typename type>
class t_resource_cache : public t_abstract_cache<type>
{
public:
	t_resource_cache();

	std::string get_name() const;
protected:
	void set( t_abstract_resource_cache_data<type>* data );
private:
	t_abstract_resource_cache_data<type>* m_resource_cache;
};


template <typename type>
inline t_resource_cache<type>::t_resource_cache()
{
	m_resource_cache = 0;
}

template <typename type>
inline std::string t_resource_cache<type>::get_name() const
{
	return m_resource_cache->get_name();
}

template <typename type>
inline void t_resource_cache<type>::set( t_abstract_resource_cache_data<type>* data )
{
	t_abstract_cache<type>::set( data );
	m_resource_cache = data;
}

#endif // RESOURCE_CACHE_H_INCLUDED